package cn.fl.product.transform;

import java.util.ArrayList;
import java.util.List;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.mfr.base.transform.BaseMfrBscInfoVOTransform;
import cn.fl.mfr.web.transform.MfrRlPsnVOTransform;
import cn.fl.product.vo.MfrInfoVO;
import fl.spl.facade.mfr.dto.MfrInfoDTO;

/**
 * @Description: 厂商信息表 转换器
 * VO是客户端传递数据到服务端进行转换的数据
 * VO转换数据变成DTO传递到服务端
 * VO不能在服务端出现
 */
public class MfrInfoVOTransform extends BaseMfrBscInfoVOTransform{


	/**
	 * DTO 转  VO
	 * @param dto PrdMfrInfoDTO
	 * @return PrdMfrInfoVO
	 */
	public static MfrInfoVO toVO(MfrInfoDTO dto) {
		MfrInfoVO  vo = baseToVO(dto) ;
		vo.setPayTypCd(dto.getPayTypCd());
		vo.setPayTypCdNm(dto.getPayTypCdNm());
		vo.setMfrRlPsnList(MfrRlPsnVOTransform.toVOList(dto.getMfrRlPsnList()));// 联系人集合
		vo.setIsValidNm(dto.getIsValidNm());// 是否启用
		vo.setAudStsCdNm(dto.getAudStsCdNm());
		vo.setTkBrCdList(dto.getTkBrCdList());// 卡车品牌
		vo.setTkBrCdNms(dto.getTkBrCdNms());// 卡车品牌名称
		vo.setCarBrCdList(dto.getCarBrCdList());// 乘用车品牌
		vo.setCarBrCdNms(dto.getCarBrCdNms());// 乘用车品牌名称
		vo.setBusBrCdList(dto.getBusBrCdList());// 客车品牌
		vo.setBusBrCdNms(dto.getBusBrCdNms());// 客车品牌名称
		vo.setRgnNms(dto.getRgnNms());
		vo.setMfrNm(dto.getMfrNm());
		return vo;
	}

	/**
	 * VO 转 DTO
	 * @param vo PrdMfrInfoVO
	 * @return PrdMfrInfoDTO
	 */
	public static MfrInfoDTO toDTO(MfrInfoVO vo) {
		MfrInfoDTO dto = baseToDTO(vo) ;
		dto.setPayTypCd(vo.getPayTypCd());
		dto.setPayTypCdNm(vo.getPayTypCdNm());
		dto.setMfrRlPsnList(MfrRlPsnVOTransform.toDTOList(vo.getMfrRlPsnList()));// 联系人集合
		dto.setIsValidNm(vo.getIsValidNm());
		dto.setAudStsCdNm(vo.getAudStsCdNm());
		dto.setTkBrCdList(vo.getTkBrCdList());// 卡车品牌
		dto.setTkBrCdNms(vo.getTkBrCdNms());// 卡车品牌名称
		dto.setCarBrCdList(vo.getCarBrCdList());// 乘用车品牌
		dto.setCarBrCdNms(vo.getCarBrCdNms());// 乘用车品牌名称
		dto.setBusBrCdList(vo.getBusBrCdList());// 客车品牌
		dto.setBusBrCdNms(vo.getBusBrCdNms());// 客车品牌名称
		dto.setRgnNms(vo.getRgnNms());
		dto.setMfrNm(vo.getMfrNm());
		return dto;
	}

	/**
	 * DTO集合 转 VO集合
	 * @param list List<PrdMfrInfo>
	 * @return List<PrdMfrInfoDTO>
	 */
	public static List<MfrInfoVO> toVOList(List<MfrInfoDTO> list) {
		List<MfrInfoVO>  voList = new ArrayList<MfrInfoVO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (MfrInfoDTO dto : list) {
				voList.add(toVO(dto));
			}
		}
		return voList;
	}
}